package com.booktrading.mapper;

import com.booktrading.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserMapper {
    
    // 新增用户
    int insert(User user);
    
    // 根据ID查询用户
    User selectById(Long id);
    
    // 根据用户名查询用户
    User selectByUsername(String username);
    
    // 根据邮箱查询用户
    User selectByEmail(String email);
    
    // 根据手机号查询用户
    User selectByPhone(String phone);
    
    // 更新用户信息
    int updateById(User user);
    
    // 更新用户密码
    int updatePassword(@Param("id") Long id, @Param("newPassword") String newPassword);
    
    // 更新用户状态
    int updateStatus(@Param("id") Long id, @Param("status") Integer status);
    
    // 更新用户信誉评分
    int updateCredibility(@Param("id") Long id, @Param("credibility") Integer credibility);
    
    // 查询所有用户
    List<User> selectAll();
    
    // 根据条件查询用户
    List<User> selectByCondition(User user);
} 